home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / ODF Release 3 / ODF-Interest Archive / October 96 / Subframes revisited < prev    next >
Encoding:
Internet Message Format  |  1996-12-11  |  2.8 KB  |  [TEXT/ttxt]

  1. Subject:     Subframes revisited
  2. Sent:        10/22/96 2:56 PM
  3. Received:    10/22/96 4:05 PM
  4. From:        Paul Mylchreest, paulm@teamsoft.com
  5. Reply-To:    ODF Interest, ODF-Interest@CILabs.ORG
  6. To:          OpenDoc Development Framework Discussion List, ODF-Interest@CILabs.
  7.  
  8. Dear ODF people,
  9.  
  10. I am attempting to create subframes on the fly in my part.
  11. This was previously discussed in march
  12.  
  13. Subject:     Re: spitting a window
  14. Sent:        3/28/96 9:04 AM
  15. Received:    3/28/96 9:21 AM
  16. From:        lamiraux@apple.com
  17. Reply-To:    ODF-Interest@CILabs.ORG
  18. To:          OpenDoc Development Framework Discussion List,
  19. ODF-Interest@CILabs.
  20.  
  21. -- clip
  22. >Anyone, this could be documented somewhere in which case just point
  23. me there.
  24. >I'm trying to split a window as in MPW. So I thought I'd take an
  25. FW_CFrame
  26. >and give it two FW_CFrames as subframes. Somehow this seems wrong
  27. because
  28. >then I appear to have one OD frame for both sub FW_CFrames. So I
  29. thought I'd
  30. >make the two two subframes FW_CViews...that seems wrong because they
  31. do not
  32. >have a FW_CView context for the scroller. 
  33. >
  34. >I cannot figure out how to get another OD frame to attach to a new
  35. >FW_CFrame...
  36. >
  37. >Somehow, I think I am just not getting how all this is supposed to
  38. fit
  39. >together. Can anyone point me in the right direction.
  40. >
  41. >Gerry
  42.  
  43. Splitting a window in not yet covered in ODF. The way to do it is to 
  44. apply the OpenDoc recipe directly. Lets say you want to split your
  45. frame 
  46. (lets call it CMyFrame). The easiest way is to use a special frame
  47. (lets 
  48. call it a CSplitFrame) with a special presentation
  49. (CSplitPresentation). 
  50. This frame has to be an embedding frame (subclass of
  51. FW_CEmbeddingFrame). 
  52. Inside this frame you should embed two (or more) of your CMyFrame
  53. using 
  54. CSplitPresentation::Embed passing the presentation of CMyFrame 
  55. (CMyPresentation) and your part (CMyPart::GetODPart).
  56. -- clip
  57.  
  58.  
  59. Henri wrote
  60.  
  61. >Try passing NULL for the odEmbeddedFrame in Embed.
  62. >FW_MProxy::Embed will create the ODFrame for you. What you are doing
  63. >here is embedding the containing frame inside itself.
  64.  
  65. I tried this before.  But I'm still getting an assertion in
  66. FW_CProxy::Embed(): 
  67. PRList.cpp @472: fSeed == fList->fSeed.
  68.  
  69. -- clip
  70. COpenContactProxy
  71.     *newProxy = new COpenContactProxy(ev, fPart);
  72.  
  73. FW_CAcquiredODPart
  74.     odEmbeddedPart = fPart->GetODPart(ev);
  75.  
  76. FW_CAcquiredODShape
  77.     aqFrameShape = CreateFrameShape(ev);
  78.  
  79. newProxy->Embed(
  80.     ev,
  81.     fPart->GetPresentation(),
  82.     odEmbeddedPart,
  83.     NULL,
  84.     kODFrameObject,
  85.     aqFrameShape,
  86.     FW_CPart::fgViewAsLargeIconToken,
  87.     fPart->GetPresentation()->GetDefaultEmbeddedFrameViewType(ev),
  88.     0,
  89.     false,
  90.     true);
  91. -- clip
  92.  
  93. Thanks for any help.
  94.  
  95. ________________
  96. Paul Mylchreest
  97. Teamsoft Inc.
  98. Montréal, Québec, Canada
  99. http://teamsoft.com
  100.  
  101. ---------------------------------------------------
  102. This message was created and sent using the Cyberdog Mail System
  103. ---------------------------------------------------
  104.  
  105.  
  106.  
  107.